Skip to content

fix: preserve queued transcriptions across interruptions - #5702

Closed
AzizMuminov wants to merge 2 commits into
pipecat-ai:mainfrom
AzizMuminov:codex/fix-transcription-interruption
Closed

fix: preserve queued transcriptions across interruptions#5702
AzizMuminov wants to merge 2 commits into
pipecat-ai:mainfrom
AzizMuminov:codex/fix-transcription-interruption

Conversation

@AzizMuminov

Copy link
Copy Markdown

Summary

  • preserve final transcription frames when a turn-start interruption resets processor queues
  • cover batched interim/final and consecutive final transcription delivery
  • cover overlapping speech and DTMF input

Testing

  • uv run pytest tests/test_context_aggregators_universal.py tests/test_dtmf_aggregator.py tests/test_frame_processor.py (116 passed)
  • uv run ruff check src/pipecat/frames/frames.py tests/test_context_aggregators_universal.py tests/test_dtmf_aggregator.py
  • uv run ruff format --check src/pipecat/frames/frames.py tests/test_context_aggregators_universal.py tests/test_dtmf_aggregator.py
  • uv run pytest (4,093 passed and 12 skipped before an optional SDK initialization stalled; interrupted after 7m45s)

Fixes #5683

@AzizMuminov

Copy link
Copy Markdown
Author

@aconchillo, when you have a chance, could you take a look at this? It fixes the queued final-transcript loss from #5683 with a marker-only production change and regression coverage for batched STT results and speech/DTMF overlap. CI is green and the PR is conflict-free. Thanks!

@markbackman

Copy link
Copy Markdown
Contributor

Closing per #5683 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TranscriptionFrame queued behind the frame that starts a user turn is dropped by that turn's own interruption

2 participants